// h0,h1,h2,h3,h4 五个值的变化
/*
h0: 1732584193 11 52
h1: 4023233417 55 15
h2: 2562383102 11 131
h3: 271733878 55 46
h4: 3285377520 11 97
*/
const arr80 = [
    2065851247,
    1835868730,
    2065851254,
    574239799,
    876033079,
    875307619,
    1948400178,
    875307622,
    1869770081,
    1948400162,
    1785950062,
    573317737,
    1849911393,
    1920165236,
    574235253,
    1952853304,
    973213720,
    849222836,
    -1577047506,
    477120586,
    965801376,
    -1595498817,
    1244953304,
    468812216,
    1070274897,
    1565064270,
    2072205619,
    -406311924,
    1363314676,
    -1159651455,
    1804126579,
    412512128,
    978352588,
    811385734,
    -250883461,
    -1038285206,
    628463124,
    -503601669,
    -1193977567,
    -155907900,
    1070020779,
    1678939594,
    1526597872,
    1105599129,
    -145057102,
    853916180,
    1373103631,
    1380613344,
    -1930276335,
    -1895207853,
    -1181458177,
    -572139981,
    -874089559,
    947842985,
    373334892,
    370615438,
    -1553261625,
    2038071513,
    72330342,
    454744818,
    673390490,
    -1187181962,
    -1593861375,
    -957458609,
    1583367870,
    382944113,
    1638387967,
    1103317933,
    -961734563,
    -303684771,
    -1473327090,
    -564275574,
    692429956,
    -1187278167,
    657287955,
    -1790804133,
    -292283169,
    1781541615,
    -2014911019,
    -1041646377
];

const arr13 = [
    null,
    1732584193,
    4023233417,
    2562383102,
    3285377520,
    false,
    true,
    2147483648,
    4294967295,
    4294967296,
    1518500249,
    1859775393,
    1894007588
]; // 固定数组
var h0 = 1732584193, h1 = 4023233417, h2 = 2562383102, h3 = 271733878, h4 = 3285377520;
for (let i = 0; i < 80; i++) {
    var v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13;
    var v_1,v_2,v_3,v_4,v_5,v_6,v_7,v_8,v_9;
    var flag = 0;
    v1 = h0 << 5; // 55
    v2 = h0 >>> 27;//34,
    v3 = v1 | v2;//17
    v4 = h4 + v3;// 34
    v5 = arr80[i];// 17
    v6 = v4 + v5;// 55 8 55

    if(i < 20){
        v7 = h1 & h2; //17
        v8 = ~h1;// 34
        v9 = v8 & h3;// 11
        v10 = v7 | v9;// 34
        v11 = arr13[10];// 11
        v12 = v10 + v11;// 17
        v13 = v12 + v6;// 55 8
    } else if(i >= 20 && i < 40){
        v_1 = v6;  //11
        v_2 = h1 ^ h2;//55
        v_3 = v_2 ^ h3; // 17
        v_4 = arr13[11];// 55
        v_5 = v_3 + v_4;// 34
        v_6 = v_1 + v_5;// 11 8
        flag = 1;
    }else if(i >= 40 && i < 60){
        v_1 = v6; // 11
        v_2 = h1 & h2; // 55
        v_3 = h1 & h3; // 34
        v_4 = v_2 | v_3; // 17
        v_5 = h2 & h3;// 34
        v_6 = v_4 | v_5; // 55
        v_7 = arr13[12];// 34
        v_8 = v_6 - v_7; //17
        v_9 = v_8 + v_1; // 11 8
        flag = 2;
    }else{
        v_1 = v6; // 34
        v_2 = h1 ^ h2; // 11
        v_3 = h3 ^ v_2; // 17
        v_4 = v_3 - 899497514; // 11
        v_5 = v_1 + v_4; // 34 8
        v_6 = arr13[10]; // 34
        flag = 3;
    }

    h4 = h3; // 97 存储 46 的值
    h3 = h2;// 46 存储 131 的值

    var v14,v15,v16;
    v14 = arr13[8];// 34
    v15 = h1 << 30;// 11
    v16 = h1 >>> 2;//17

    h2 = v15 | v16; // 55 131
    h1 = h0;// 15 存储 52 的值
    if(flag === 0)
        h0 = v13;// 52
    else if(flag === 1)
        h0 = v_6;
    else if(flag === 2)
        h0 = v_9;
    else if(flag === 3)
        h0 = v_5;
    console.log(i,"52",h0,"15",h1,"131",h2,"46",h3,"97",h4);
}

// // 先从对象中获取h0,然后h0+上述结果h0
// var newH0 = h0 + old_h0; //17
// newH0 <<= 0; // 55
// // 依次赋值对应元素即可






